package com.party.pay;

import lombok.Data;

/**
 * @author: zhaoyongke
 * @create: 2025-09-01 15:15
 * @description: qqq
 */
@Data
public class XunayRefundResponse {
    private int code;              // 返回状态：0-成功，其他-失败
    private String msg;            // 返回信息（如“签名失败”）
    private String sign;           // 签名（对 data 内容签名）
    private RefundData data;       // 退款结果数据（code=0 时非空）

    /**
     * 退款结果数据（data 字段内容）
     */
    @Data
    public static class RefundData {
        private String refundOrderId;  // 支付网关退款单号（系统生成）
        private String mchRefundNo;    // 商户退款单号（与请求一致）
        private String mchOrderNo;     // 原商户订单号
        private String payOrderId;     // 原支付订单号
        private int orderAmount;       // 原订单金额（单位：分）
        private int refundAmount;      // 本次退款金额（单位：分）
        private int refundState;       // 退款状态：0-退款中，1-退款成功，2-退款失败
        private String refundReason;   // 退款原因
        private long refundTime;       // 退款时间（13位时间戳）
        private String channelErrCode; // 渠道错误码（上游返回，如微信/支付宝错误码）
        private String channelErrMsg;  // 渠道错误描述
    }
}
